45 research outputs found

    How To Build a Better Testbed: Lessons From a Decade of Network Experiments on Emulab

    Get PDF
    International audienceThe Emulab network testbed provides an environment in which researchers and educators can evaluate networked systems. Available to the public since 2000, Emulab is used by thousands of experimenters at hundreds of institutions around the world, and the research conducted on it has lead to hundreds of publications. The original Emulab facility at the University of Utah has been replicated at dozens of other sites. The physical design of the Emulab facility, and many other testbeds like it, has been based on the facility operators' expectations regarding user needs and behavior. If operators' assumptions are incorrect, the resulting facility can exhibit inefficient use patterns and sub-optimal resource allocation. Our study, the first of its kind, gains insight into the needs and behaviors of networking researchers by analyzing more than 500,000 topologies from 13,000 experiments submitted to Emulab. Using this dataset, we re-visit the assumptions that went into the physical design of the Emulab facility and consider improvements to it. Through extensive simulations with real workloads, we evaluate alternative testbeds designs for their ability to improve testbed utilization and reduce hardware costs

    Gestion dynamique des tâches dans les grappes, une approche à base de machines virtuelles

    Get PDF
    Resources Management Systems relying on a dynamic management of jobs can efficiently use resources in clusters. Indeed they provide mechanisms to manipulate online the state of the jobs and their assignment on the nodes. In practice, these scheduling strategies are hard to deploy on clusters as they can not necessarily handle the manipulation of the jobs and may have specific scheduling constraints to consider. In this thesis, we try to ease the development of resources management systems relying on a dynamic management of jobs. We based our environment on the use of virtual machines to execute the jobs in their legacy environments while providing the mechanisms to manipulate them in a non-intrusive way. Moreover, we propose an autonomous environment to continuously optimize the scheduling of jobs. Scheduling strategies are implemented using constraints programming which aims to model and solve combinatory problems. We validate our approach with the development of our prototype Entropy, which has been used to implement various scheduling strategies. The evaluation of these strategies show their capability to to solve present problems.Les gestionnaires de ressources reposant sur une gestion dynamique des tâches permettent une utilisation efficace des ressources des grappes de serveurs. Ils mettent en oeuvre pour cela des mécanismes manipulant à la volée l'état des tâches et leur placement sur les différents noeuds de la grappe. En pratique, ces stratégies d'ordonnancement ad-hoc s'adaptent difficilement aux grappes. En effet, celles-ci ne permettent pas nécessairement une manipulation fiable des tâches et peuvent imposer des contraintes d'ordonnancement spécifiques. Dans cette thèse, nous nous sommes fixés comme objectif de faciliter le développement de gestionnaires de ressources basés sur une gestion dynamique des tâches. Pour cela, nous avons retenu une architecture à base de machines virtuelles qui exécutent les tâches des utilisateurs dans leur propre environnement logiciel tout en proposant les primitives nécessaires à la manipulation de celles-ci de manière non-intrusive. Nous avons également proposé une approche autonome optimisant en continu l'ordonnancement des tâches. Les stratégies d'ordonnancement sont implémentées au moyen de la programmation par contraintes qui permet de définir de manière flexible des problèmes d'ordonnancement et de les résoudre. Nous avons validé notre approche par le développement et l'évaluation du prototype Entropy, support pour l'implémentation de différentes stratégies d'ordonnancement. Celles-ci ont pu répondre efficacement à des problèmes concrets et actuels

    Ordonnancement contrôlé de migrations à chaud

    Get PDF
    National audienceMigrer à chaud une machine virtuelle (VM) est une opération basique dans un centre de don-nées. Tous les jours, des VM sont migrées pour répartir la charge, économiser de l'énergie ou préparer la maintenance de serveurs en production. Bien que les problèmes de placement des VM soient beaucoup étudiés, on observe que la gestion des migrations permettant de transiter vers ces nouveaux placements reste un domaine de second plan. On observe alors des algo-rithmes de placement de qualité, couplés à des algorithmes d'ordonnancement prenant des décisions peu pertinentes causées par des hypothèses irréalistes. Nous présentons dans ce papier mVM, un ordonnanceur de migrations reposant sur un modèle précis du réseau et du protocole de migration à chaud. Cet ordonnanceur a été intégré en place de celui du gestionnaire de VM BtrPlace. Nos premières expérimentations montrent que les durées des migrations sont estimées à 1.5 secondes près. Cette précision a permis de calculer de meilleurs ordonnancements, réduisant la durée des migrations par 3.5 comparée à BtrPlace

    Scheduling Live-Migrations for Fast, Adaptable and Energy-Efficient Relocation Operations

    Get PDF
    International audienceEvery day, numerous VMs are migrated inside a datacenter to balance the load, save energy or prepare production servers for maintenance. Despite VM placement problems are carefully studied, the underlying migration scheduler rely on vague adhoc models. This leads to unnecessarily long and energy-intensive migrations. We present mVM, a new and extensible migration scheduler. mVM takes into account the VM memory workload and the network topology to estimate precisely the migration duration and take wiser scheduling decisions. mVM is implemented as a plugin of BtrPlace and can be customized with additional scheduling constraints to finely control the migrations. Experiments on a real testbed show mVM outperforms schedulers that cap the migration parallelism by a constant to reduce the completion time. Besides an optimal capping, mVM reduces the migration duration by 20.4% on average and the completion time by 28.1%. In a maintenance operation involving 96 VMs to migrate between 72 servers, mVM saves 21.5% Joules against BtrPlace. Finally, its current library of 6 constraints allows administrators to address temporal and energy concerns, for example to adapt the schedule and fit a power budget

    Planning Live-Migrations to Prepare Servers for Maintenance

    Get PDF
    International audienceIn a virtualized data center, server maintenance is a common but still critical operation. A prerequisite is indeed to relocate elsewhere the Virtual Machines (VMs) running on the production servers to prepare them for the maintenance. When the maintenance focuses several servers, this may lead to a costly relocation of several VMs so the migration plan must be chose wisely. This however implies to master numerous human, technical, and economical aspects that play a role in the design of a quality migration plan. In this paper, we study migration plans that can be decided by an operator to prepare for an hardware upgrade or a server refresh on multiple servers. We exhibit performance bottleneck and pitfalls that reduce the plan efficiency. We then discuss and validate possible improvements deduced from the knowledge of the environment peculiarities

    Memory and Network Aware Scheduling of Virtual Machine Migrations

    Get PDF
    International audienceLive-migration has become a common operation on virtualized infrastructures. Indeed, it is widely used by resource management algorithms to distribute the load between servers and to reduce energy consumption. Operators rely also on migrations to prepare production servers for critical maintenance by relocating their running VMs elsewhere. To apply new VM placement decisions, live-migrations must be scheduled by selecting for each migration the moment to start and the bandwidth to allocate. Long migrations violate SLAs and reduce the practical benefits of placement algorithms. The VMs should then be migrated as fast as possible. To do so, the migration scheduler must be able to predict accurately the migration durations and schedule them accordingly. Dynamic VM placement algorithms focus extensively on computing a placement of quality. Their practical reactivity is however lowered by restrictive assumptions that underestimate the migration durations. For example, Entropy supposes a non-blocking homogeneous network coupled with a null dirty page rate and we already demonstrated that the network topology but also the workload live memory usage are dominating factors. Recently, some migration models have been developed and integrated into simulators to evaluate VM placement algorithms properly. While these models reproduce migrations finely, they are only devoted to simulation purpose and not used to compute scheduling decisions. We propose here a migration scheduler that considers the network topology, the migration routes, the VM memory usage and the dirty page rates, to compute precise migration durations and infer better schedules. We implemented our scheduler on top of BtrPlace, an extensible version of Entropy that allows to enrich the scheduling decision capabilities through plug-ins. To assess the flexibility of our scheduler, we also implemented constraints to synchronize migrations, to establish precedence rules, to respect power budgets and an objective that minimizes energy consumption. We evaluated our model accuracy and its resulting benefits by executing migration scenarios on a real testbed including a blocking network, mixed VM memory workloads and collocation settings. Our model predicted the migration durations with a 94% accuracy at minimum and an absolute error of 1 second while BtrPlace vanilla was only 30% accurate. This gain of precision led to wiser scheduling decisions. In practice, the migrations completed on average 3.5 time faster as compared to an execution based on BtrPlace vanilla. Thanks to a better control of migrations and power-switching actions we also reduced the power consumption of a server decommissioning scenario according to different power budgets

    Changement de contexte pour tâches virtualisées à l'échelle des grappes

    Get PDF
    National audienceDe nos jours, la gestion des ressources d'une grappe est effectuée en allouant des tranches de temps aux applications, spécifiées par les utilisateurs et de manière statique. Pour un utilisateur, soit les ressources demandées sont sur-estimées et la grappe est sous-utilisée, soit sous-dimensionnées et ses calculs sont dans la plupart des cas perdus. L'apparition de la virtualisation a apporté une certaine flexibilité quant à la gestion des applications et des ressources des grappes. Cependant, pour optimiser l'utilisation de ces ressource, et libérer les utilisateurs d'estimations hasardeuses, il devient nécessaire d'allouer dynamiquement les ressources en fonction des besoins réels des applications : Être capable de démarrer dynamiquement une application lorsqu'une ressource se libère ou la suspendre lorsque la ressource doit être ré-attribuée. En d'autres termes, être capable de développer un système comparable au changement de contexte sur les ordinateurs standards pour les applications s'exécutant sur une grappe. En s'appuyant sur la virtualisation, développer un tel mécanisme de manière générique devient envisageable. Dans cet article nous proposons une infrastructure offrant la notion de changement de contexte d'applications virtualisées appliquée aux grappes. Cette solution a permis de développer un ordonnanceur exécutant simultanément un maximum d'applications virtualisées. Nous montrons qu'une telle solution augmente le taux d'occupation de notre grappe et réduit le temps de traitement des applications

    Power Management in Grid Computing with Xen

    Get PDF
    International audienceWhile chip vendor still stick to Moore's law, and the performance per dollar keeps going up, the performance per watt has been stagnant for the last few years. Moreover energy prices continue to rise world-wide. This poses a major challenge to organisations running grids, indeed such architectures require cooling systems. Indeed the one-year cost of a cooling system and of the power consumption may outfit the grid initial investement. We observe , however, that a grid does not constantly run at peak performance. In this paper, we propose a workload concentration strategy to reduce grid power consumption. Using the Xen virtual machine migration technology, our power management policy can dispatch transparently and dynamically any applications of the grid. Our policy concentrates the workload to shutdown nodes that are unused with a neglectable impact on performance. We show through evaluations that this policy decreases the overall power consumption of the grid significantl

    Dynamic Consolidation of Highly Available Web Applications

    Get PDF
    Datacenters provide an economical and practical solution for hosting large scale n-tier Web applications. When scalability and high availability are required, each tier can be implemented as multiple replicas, which can absorb extra load and avoid a single point of failure. Realizing these benefits in practice, however, requires that replicas be assigned to datacenter nodes according to certain placement constraints. To provide the required quality of service to all of the hosted applications, the datacenter must consider of all of their specific constraints. When the constraints are not satisfied, the datacenter must quickly adjust the mappings of applications to nodes, taking all of the applications' constraints into account. This paper presents Plasma, an approach for hosting highly available Web applications, based on dynamic consolidation of virtual machines and placement constraint descriptions. The placement constraint descriptions allow the data- center administrator to describe the datacenter infrastructure and each appli- cation administrator to describe his requirements on the VM placement. Based on the descriptions, Plasma continuously optimizes the placement of the VMs in order to provide the required quality of service. Experiments on simulated configurations show that the Plasma reconfiguration algorithm is able to man- age a datacenter with up to 2000 nodes running 4000 VMs with 800 placement constraints. Real experiments on a small cluster of 8 working nodes running 3 instances of the RUBiS benchmarks with a total of 21 VMs show that con- tinuous consolidation is able to reach 85% of the load of a 21 working nodes cluster.Externaliser l'hébergement d'une application Web n-tiers virtualisée dans un centre de données est une solution économiquement viable. Lorsque l'administrateur de l'application considère les problèmes de haute disponibilité tels que le passage à l'échelle et de tolérance aux pannes, chaque machine virtuelle (VM) embarquant un tiers est répliquée plusieurs fois pour absorber la charge et éviter les points de défaillance. Dans la pratique, ces VM doivent être placées selon des contraintes de placement précises. Pour fournir une qualité de service à toutes les applications hébergées, l'administrateur du centre de données doit considérer toutes leurs contraintes. Lorsque des contraintes de placement ne sont plus satisfaites, les VM alors doivent être ré-agencées au plus vite pour retrouver un placement viable. Ce travail est complexe dans un environnement consolidé où chaque nœud peut héberger plusieurs VM. Cet article présente Plasma, un système autonome pour héberger les VM des applications Web haute-disponibilité dans un centre de données utilisant la consolidation dynamique. Par l'intermédiaire de scripts de configuration, les administrateurs des applications décrivent les contraintes de placement de leur VM tandis que l'administrateur système décrit l'infrastructure du centre de données. Grâce à ces descriptions, Plasma optimise en continu le placement des VM pour fournir la qualité de service attendue. Une évaluation avec des données simulées montre que l'algorithme de reconfiguration de Plasma permet de superviser 2000 nœuds hébergeant 4000 VM selon 800 contraintes de placement. Une évaluation sur une grappe de 8 nœuds exécutant 3 instances de l'application RUBiS sur 21 VM montre que la consolidation fournit par Plasma atteint 85% des performances d'une grappe de 21 nœuds

    Changement de contexte pour tâches virtualisées à l'échelle des grappes

    Get PDF
    National audienceDe nos jours, la gestion des ressources d'une grappe est effectuée en allouant des tranches de temps aux applications, spécifiées par les utilisateurs et de manière statique. Pour un utilisateur, soit les ressources demandées sont sur-estimées et la grappe est sous-utilisée, soit sous-dimensionnées et ses calculs sont dans la plupart des cas perdus. L'apparition de la virtualisation a apporté une certaine flexibilité quant à la gestion des applications et des ressources des grappes. Cependant, pour optimiser l'utilisation de ces ressource, et libérer les utilisateurs d'estimations hasardeuses, il devient nécessaire d'allouer dynamiquement les ressources en fonction des besoins réels des applications : Être capable de démarrer dynamiquement une application lorsqu'une ressource se libère ou la suspendre lorsque la ressource doit être ré-attribuée. En d'autres termes, être capable de développer un système comparable au changement de contexte sur les ordinateurs standards pour les applications s'exécutant sur une grappe. En s'appuyant sur la virtualisation, développer un tel mécanisme de manière générique devient envisageable. Dans cet article nous proposons une infrastructure offrant la notion de changement de contexte d'applications virtualisées appliquée aux grappes. Cette solution a permis de développer un ordonnanceur exécutant simultanément un maximum d'applications virtualisées. Nous montrons qu'une telle solution augmente le taux d'occupation de notre grappe et réduit le temps de traitement des applications
    corecore